The ASP.NET page framework includes a number of built-in server controls that are designed to provide a more structured programming model for the Web. These controls provide the following features:

In addition to the built-in controls, the ASP.NET page framework also provides the ability to create user controls. User controls can enhance and extend existing controls to build a much richer user interface. More about User Controls below.

Följande exempel visar serverkontrollen button i htmlkod. Knappen har id "Button1". När den klickas körs onclick händelsen, metoden Button1_Click. Texten på knappen är "Button".

Html

<asp:button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:button>

Detta exempel ändrar knappens text i bakomliggande kod:

C#
Button1.Text = "My button";
VB
Button1.Text = "My button"

Server kontroller kan enkelt läggas till med dra-och-släpp teknik i Content Studio. Alla serverkontroller i ASP.NET kan användas med Content Studio, dessa åtkomliga via menyn Visa -> Standard verktygslåda. Inställningar på kontrollen görs genom att dubbelklicka eller högerklicka och välja egenskaper.

 

Som standard visas vilka egenskaper som är tillgängliga för kontrollen. Tillgängliga händelser visas med ett knapptryck på blixt-ikonen uppe till vänster i dialogen. Alla kontroller har i regel en standardhändelse. Denna standardhändelse implementeras genom att högerklicka på kontrollen och välj "skapa standardhändelse". I exemplet med knappen skapas metoden Button1_OnClick upp i bakomliggande kod.

User Controls

In addition to using Web server controls in your ASP.NET Web pages, you can create your own custom, reusable controls using the same techniques you use for creating ASP.NET Web pages. These controls are called user controls. A user control is a kind of composite control that works much like an ASP.NET Web page—you can add existing Web server controls and markup to a user control, and define properties and methods for the control. You can then embed them in ASP.NET Web pages, where they act as a unit.

In Content Studio, just create a new document of type html without metadata and set file extension to .ascx (in menu: File -> Document settings). För att använda user controllen på en htmlsida måste den registreras på sidan med ett registerdirektiv detta kan göras manuellt men det lättaste är att bara ta tag i dokumentet i dokumentlistan och dra in den på sidan. Då lägger Content Studio automatiskt upp direktivet på sidan (dokumentdirektiv koms åt via File -> Document settings -> Page directives).

Inställningar

Egna inställningar i user controls styrs via properties. En property som deklarareras som public kommer automatiskt att dyka upp i egenskapsdialogen. Förutom publika properties har man även åtkomst till publika metoder i kodläge. Med hjälp av attribute styrs olika beteenden på kontrollen. Det är exempelvis möjligt att ange en beskrivning för en property, ange ett standardvärde och ange under vilken kategori den ska visas upp.

Följande exempel deklarerar en property Text av typen sträng. Tre attribut är angiva på propertyn. Dessa säger följande: standardvärdet är "MyText", propertyn hamnar under kategorin "Settings" i egenskapsdialogen och slutligen beskrivningen på propertien.

C#
private string _Text = "MyText";
[DefaultValue("MyText"), Category("Settings"), Description("Text value of the control.")] 
public string Text
{ 
	get { return _Text; } 
	set { _Text = value; } 
}
VB
Private _Text As String = "MyText"
<DefaultValue("MyText"), Category("Settings"), Description("Text value of the control.")> _ 
Public Property Text() As String 
	Get 
		Return _Text 
	End Get 
	Set(ByVal Value As String) 
		_Text = Value 
	End Set 
End Property

Content Studio stödjer de flesta attribut. Här är några av de vanligaste:

Attributes
Name Applies to Description
DefaultValue Property Default value in properties dialog.

Example:
DefaultValue("5")
Category Property Category property belongs to.

Example:
Category("Behavior")
Description Property Property description in properties dialog.

Example:
Description("Title of the control")
DefaultProperty Class Property that is selected when properties dialog opens. Set this attribute on class.

DefaultProperty("Title")
DefaultEvent Class Default event. Set this attribute on class.

Example:
DefaultEvent("Click")
Browsable Property Wheather the property is visible in the properties dialog. Observe that the property is always accessible in code.

Example:
Browsable(false)
Designer Class Class that is used to render design time html. Set this attribute on class.

Example:
Designer(typeof(MyOwnDesigner))

Example of designer class:
public class DocumentListDesigner : ControlDesigner {
  public override string GetDesignTimeHtml() {
    return "<h3>My control</h3>";
  }
}
TypeConverter Property Class to use for converting value set in properties dialog into other type. The StringArrayConverter converts a comma separated string into a string array.

Example:
TypeConverter(typeof(StringArrayConverter))

The attributes resides in namespace System.ComponentModel.